package com.fa4j.system.login.model;

import com.fa4j.system.account.model.AccountBind;
import com.fa4j.system.account.model.AccountType;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.List;
import java.util.Set;

@Data
@Schema(description = "登录信息")
public class LoginInfo {

    @Schema(description = "用户名")
    private String nickname;

    @Schema(description = "头像ID")
    private String avatarId;

    @Schema(description = "头像地址")
    private String avatarUrl;

    @Schema(description = "登录TOKEN")
    private String token;

    @Schema(description = "过期时间")
    private LocalDateTime expireTime;

    @Schema(description = "账号类型")
    private AccountType type;

    @Schema(description = "手机号码")
    private String phone;

    @Schema(description = "电子邮箱")
    private String email;

    @Schema(description = "角色编码集合")
    private Set<String> roleCodes;

    @Schema(description = "角色信息集合")
    private List<LoginRoleInfo> roles;

    @Schema(description = "账号绑定集合")
    private List<AccountBind> binds;

}
